#include<stdio.h>
#define N 1000
/* 确定dp状态 */
int dpArr1[N];
int dpArr2[N][N];

/* 确定dp转移方程 */
int func(int param1){
}
int func(int param1,int param2){

}

/* 确定dp初始化状态*/
void init(){
    
}
/* 确定dp转移顺序*/
void dp1(){
    for (size_t i = 0; i < N; i++)
    {
        dpArr1[i] = func(dpArr1[i-1]) 
    }
}

void dp2(){
    for (size_t i = 0; i < N; i++)
    {
        for (size_t j = 0; j < N; j++)
        {
            dpArr1[i] = func(dpArr1[i-1][j],dpArr1[i-1][j])
        } 
    }
}
/*确定最优解*/
int solution(int n){
    init();
    dp1();
    return dpArr1[n];
}

int main(){
    return 0;
}